package com.boarsoft.soagov.registry;

import java.util.List;

import com.boarsoft.soagov.bean.AppInstReg;

public interface ServiceRegistry {
	/**
	 * 返回暴露了此服务的所有节点（含所有版本）列表
	 * 
	 * @param sk
	 *            serviceKey 服务编号-服务（提供者）版本
	 * @return
	 */
	List<String> getProviders(String env, String sk);

	/**
	 * 查询部署在某个应用上的所有实例
	 * 
	 * @param ip
	 * @return
	 */
	List<AppInstReg> list(String ip);

	/**
	 * 根据IP:PORT查询注册信息
	 * 
	 * @param ip
	 * @param port
	 * @return
	 */
	AppInstReg find(String ip, int port);

	/**
	 * 
	 * @param appId
	 * @return
	 */
	String getHandler(String appId);

}